/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.util;

import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import pe.edu.upc.dew.model.Local;
import pe.edu.upc.dew.model.Paquete;
import pe.edu.upc.dew.model.Servicio;
import pe.edu.upc.dew.model.Actividad;
import pe.edu.upc.dew.model.Dia;
import pe.edu.upc.dew.model.Hora;
import pe.edu.upc.dew.model.Instructor;
import pe.edu.upc.dew.service.PaqueteService;
import pe.edu.upc.dew.service.PaqueteServiceImpl;
import pe.edu.upc.dew.service.ServiciosService;
import pe.edu.upc.dew.service.ServiciosServiceImpl;
import pe.edu.upc.dew.service.UtilService;
import pe.edu.upc.dew.service.UtilServiceImpl;

/**
 *
 * @author Pedro
 */
public class GimnasioListener implements ServletContextListener {

    public void contextInitialized(ServletContextEvent sce) {
        String nombreContexto = sce.getServletContext().getServletContextName();
        sce.getServletContext().setAttribute("ctx", nombreContexto);

        //Se cargan las listas de combos al contexto
        cargarListasComunes(sce.getServletContext());

    }

    public void contextDestroyed(ServletContextEvent sce) {
        sce = null;
    }

    private void cargarListasComunes(ServletContext ctx){
    System.out.println("en cargarListasComunes");
        UtilService utilService = new UtilServiceImpl();
        List<Local> locales = utilService.obtenerLocales();

        ctx.setAttribute(ConstantesGimnasio.LISTA_LOCALES_CONTEXTO,locales);

        PaqueteService paqService = new PaqueteServiceImpl();
        List<Paquete> paquetes = paqService.obtenerPaquetes();

        ctx.setAttribute(ConstantesGimnasio.LISTA_PAQUETES_CONTEXTO,paquetes);

        ServiciosService servService = new ServiciosServiceImpl();
        //List<Servicio> servs = servService.obtenerServicios();

        //ctx.setAttribute(ConstantesGimnasio.LISTA_SERVICIOS_CONTEXTO,servs);
        
        
        List<Actividad> actividades = utilService.obtenerActividades();

        ctx.setAttribute(ConstantesGimnasio.LISTA_ACTIVIDADES_CONTEXTO,actividades);

        List<Instructor> instructores = utilService.obtenerInstructor();

        ctx.setAttribute(ConstantesGimnasio.LISTA_INSTRUCTOR_CONTEXTO,instructores);

        List<Dia> dias = utilService.diasSemana();
        ctx.setAttribute(ConstantesGimnasio.LISTA_DIAS_CONTEXTO,dias);

        List<Hora> horas = utilService.horasDia();
        ctx.setAttribute(ConstantesGimnasio.LISTA_HORAS_CONTEXTO,horas);

        
        locales.get(0).setServicio(servService.obtenerServicios(new Servicio(),1));
        locales.get(1).setServicio(servService.obtenerServicios(new Servicio(),2));
        locales.get(2).setServicio(servService.obtenerServicios(new Servicio(),3));
        locales.get(3).setServicio(servService.obtenerServicios(new Servicio(),4));
        //TODO



    System.out.println("saliendo de cargarListasComunes:"+locales.size());
    }
}
